1. Technical Field
The present invention relates generally to sending and receiving data over a serial bus, and, more particularly, to the automatic generation and retransmission of data read responses upon receipt of a data read request over the serial bus. More specifically still, the present invention relates to automatically transmitting data read responses based on an initial read request over a serial bus having a plurality of transmission rates, which read response is transmitted at the same speed as the initial read request.
2. Description of the Related Art
The IEEE High Performance Serial Bus P1394 (hereinafter P1394) proposed standard defines an electrical and physical interface for interconnection of P1394 devices, or nodes, via cables or an electrical backplane. The P1394 standard also defines various signalling and data transmissions protocols that are required to configure the collection of nodes into a working network and to support the configurations, which may include daisy chains or tree topologies; however, no loops are allowed in any of these topologies. Up to 63 nodes may be connected to a single P1394 bus and multiple busses may also be interconnected via P1394 bridge nodes. Up to 16 cable segments, or hops, may be present between any two nodes on the bus. In order to achieve optimum bus performance, the interpacket transmission gap time, or delay, is set as small as possible based on the maximum number of cable hops between any two devices. The maximum number of cable hops between any two devices connected to the bus can be determined if the bus topology is known.
The P1394 standard defines three possible speeds at which data packets can be transmitted between nodes on the bus. The possible speeds are approximately 100, 200, and 400 megabits per second. The maximum speed at which a data packet can be transmitted depends on the bus topology and the data transmission speeds supported by various nodes on the bus. The transmission speeds supported by a given node is determined by its physical layer, or PHY, hardware implementation. Any PHY that supports a particular maximum speed must also support all slower speeds. To determine the optimum speed at which a data packet can be sent, the maximum supported speeds of the transmitting and receiving nodes, as well as the maximum speed of any nodes connected between these nodes must be determined. The optimum speed for data transmission is equal to the highest speed that is supported by all the nodes that are required to participate in the transmission of the data packet. A topological map of the bus network is required in order to determine the optimum packet transmission speed.
Accordingly, what is needed is a method for supporting data transmission over a P1394 high performance serial bus that efficiently builds and transmits data requests.